from .control import Control
from .row import Row
from .column import Column


class Table(Control):
    '''
    表格操作
    '''

    def rows(self):
        '''
        获取表格中的所有行

        :Returns:
            返回表格中的所有行集合
        '''
        row_list = self.control.Rows
        return [Row(row) for row in row_list]

    def selected_rows(self):
        '''
        获取表格中的选中行

        :Returns:
            返回表格中的选中行集合
        '''
        row_list = self.control.SelectedRows
        return [Row(row) for row in row_list]

    def columns(self):
        '''
        获取表格中的所有列

        :Returns:
            返回表格中的所有列集合
        '''
        column_list = self.control.Columns
        return [Column(column) for column in column_list]

    def selected_columns(self):
        '''
        获取表格中的选中列

        :Returns:
            返回表格中的选中列集合
        '''
        column_list = self.control.SelectedColumns
        return [Column(column) for column in column_list]